const arr = [
    {
	"template_name": "Tiktok \u7528\u6237\u4e3b\u9875\u4e2a\u4eba\u4fe1\u606f",
	"template_type": "1",
	"introduction": "Tiktok \u7528\u6237\u4e3b\u9875 \u4e2a\u4eba\u4fe1\u606f\uff08\u4e0d\u542b\u89c6\u9891\u5217\u8868\uff09",
	"domain": "tiktok.com",
	"use_times": 0,
	"request_type": "\u672c\u5730\u91c7\u96c6",
	"proxy_type": 0,
	"verify_code_type": 0,
	"is_official": 1,
	"is_sell": 0,
	"price": 0,
	"remark": "\u6682\u65e0",
	"created_time": "2023-03-01 15:40:00",
	"created_user": "\u859b\u51cc\u4e91",
	"updated_time": "2023-03-02 11:04:00.836276",
	"updated_user": "",
	"min_xpath_range": "",
	"xpath_list": [{
		"xpath_name": "user.name",
		"xpath": "//h2[@class=\"tiktok-t89rw6-H2ShareTitle ekmpd5l5\"]",
		"xpath_name_chinese": "\u7528\u6237\u540d\u79f0",
		"xpath_name_english": "user.name",
		"xpath_name_french": ""
	}, {
		"xpath_name": "user.nickname",
		"xpath": "//h1[@class=\"tiktok-qpyus6-H1ShareSubTitle ekmpd5l6\"]",
		"xpath_name_chinese": "\u7528\u6237\u6635\u79f0",
		"xpath_name_english": "user.nickname",
		"xpath_name_french": ""
	}, {
		"xpath_name": "user.description",
		"xpath": "//h2[@class=\"tiktok-1n8z9r7-H2ShareDesc e1457k4r4\"]",
		"xpath_name_chinese": "\u7528\u6237\u7b80\u4ecb",
		"xpath_name_english": "user.description",
		"xpath_name_french": ""
	}, {
		"xpath_name": "user.profile_img_url",
		"xpath": "//div[@class=\"tiktok-uha12h-DivContainer e1vl87hj1\"]//img//@src",
		"xpath_name_chinese": "\u7528\u6237\u5934\u50cf\u94fe\u63a5",
		"xpath_name_english": "user.profile_img_url",
		"xpath_name_french": ""
	}, {
		"xpath_name": "user.friends_count",
		"xpath": "//h3[@class=\"tiktok-12ijsdd-H3CountInfos e1457k4r0\"]//div[@class=\"tiktok-1kd69nj-DivNumber e1457k4r2\"][1]//strong",
		"xpath_name_chinese": "\u5173\u6ce8\u6570",
		"xpath_name_english": "user.friends_count",
		"xpath_name_french": ""
	}, {
		"xpath_name": "user.followers_count",
		"xpath": "//h3[@class=\"tiktok-12ijsdd-H3CountInfos e1457k4r0\"]//div[@class=\"tiktok-1kd69nj-DivNumber e1457k4r2\"][2]//strong",
		"xpath_name_chinese": "\u7c89\u4e1d\u6570",
		"xpath_name_english": "user.followers_count",
		"xpath_name_french": ""
	}, {
		"xpath_name": "user.like_count",
		"xpath": "//h3[@class=\"tiktok-12ijsdd-H3CountInfos e1457k4r0\"]//div[@class=\"tiktok-1kd69nj-DivNumber e1457k4r2\"][3]//strong",
		"xpath_name_chinese": "\u70b9\u8d5e\u6570",
		"xpath_name_english": "user.like_count",
		"xpath_name_french": ""
	}]
}, 
{
	"template_name": "Tiktok \u7528\u6237\u4e3b\u9875\u89c6\u9891\u5217\u8868",
	"template_type": "1",
	"introduction": "Tiktok \u7528\u6237\u4e3b\u9875\u89c6\u9891\u5217\u8868",
	"domain": "tiktok.com",
	"use_times": 45,
	"request_type": "\u672c\u5730\u91c7\u96c6",
	"proxy_type": 0,
	"verify_code_type": 0,
	"is_official": 1,
	"is_sell": 0,
	"price": 0,
	"remark": "\u6682\u65e0",
	"created_time": "2023-03-01 15:42:00",
	"created_user": "\u859b\u51cc\u4e91",
	"updated_time": "2023-03-02 13:03:38.328514",
	"updated_user": "",
	"min_xpath_range": "//div[@class=\"tiktok-x6y88p-DivItemContainerV2 e19c29qe7\"]",
	"xpath_list": [{
		"xpath_name": "title",
		"xpath": "//div[@class=\"tiktok-5lnynx-DivTagCardDesc eih2qak1\"]",
		"xpath_name_chinese": "\u6807\u9898",
		"xpath_name_english": "title",
		"xpath_name_french": ""
	}, {
		"xpath_name": "visit_count",
		"xpath": "//div[@class=\"tiktok-11u47i-DivCardFooter e148ts220\"]",
		"xpath_name_chinese": "\u64ad\u653e\u91cf",
		"xpath_name_english": "visit_count",
		"xpath_name_french": ""
	}]
}]

console.log(JSON.parse(arr))
// 由CryptoJS.AES.decrypt解码来的数据并进行toString(CryptoJS.enc.Utf8)之后，无法使用JSON.parse转换成json数据，但是使用在线校验工具认为格式正确。这是为什么
// 可能是由于解码后的字符串包含了一些特殊字符或者不可见字符，导致JSON.parse方法无法正确解析字符串。可以尝试使用console.log()或者debugger等工具打印出解码后的字符串，查看是否存在特殊字符或者不可见字符。

// 另外，在使用JSON.parse方法时，需要确保传入的字符串是一个合法的JSON格式。如果解码后的字符串不是一个合法的JSON格式，JSON.parse方法也会抛出异常，无法正确解析字符串。

// 如果在在线校验工具中可以成功校验，可能是因为该工具能够容忍一些不规范的JSON格式，但在JavaScript中使用JSON.parse方法时，必须确保传入的字符串是一个合法的JSON格式，否则会抛出异常。




// mingyuexia1123@gmail.com
// 确实存在不可见字符，我该怎么消除它呢
// 可以尝试使用字符串的replace方法将不可见字符替换为可见字符。例如，可以使用如下代码将解码后的字符串中的不可见字符替换为空格：

// javascript
// Copy code
// var decodedString = CryptoJS.AES.decrypt(cipherText, key, options).toString(CryptoJS.enc.Utf8);
// decodedString = decodedString.replace(/[\u0000-\u001F\u007F-\u009F]/g, ' ');
// 在上述代码中，正则表达式/[\u0000-\u001F\u007F-\u009F]/g用于匹配所有ASCII码小于32或大于等于127的字符，也就是所有不可见字符，然后使用空格替换这些字符。

// 另外，如果你知道不可见字符的具体字符编码，也可以将其直接替换为对应的可见字符。例如，可以使用如下代码将所有换行符\n替换为空格：

// javascript
// Copy code
// var decodedString = CryptoJS.AES.decrypt(cipherText, key, options).toString(CryptoJS.enc.Utf8);
// decodedString = decodedString.replace(/\n/g, ' ');
// 这样做可以确保解码后的字符串中只包含可见字符，方便后续的JSON解析。